﻿namespace NETworkManager.Models.RemoteDesktop;

/// <summary>
///     Represents the network connection used between the client and server.
///     The network connection type information passed on to the server helps the server tune several parameters based on
///     the network connection type.
///     See also:
///     https://docs.microsoft.com/en-us/windows/desktop/termserv/imsrdpclientadvancedsettings7-networkconnectiontype
/// </summary>
public enum NetworkConnectionType
{
    /// <summary>
    ///     Detect the network connection type automatically.
    /// </summary>
    DetectAutomatically,

    /// <summary>
    ///     Modem (56 Kbps).
    /// </summary>
    Modem,

    /// <summary>
    ///     Low-speed broadband (256 Kbps to 2 Mbps).
    /// </summary>
    BroadbandLow,

    /// <summary>
    ///     Satellite (2 Mbps to 16 Mbps, with high latency).
    /// </summary>
    Satellite,

    /// <summary>
    ///     High-speed broadband (2 Mbps to 10 Mbps).
    /// </summary>
    BroadbandHigh,

    /// <summary>
    ///     Wide area network (WAN) (10 Mbps or higher, with high latency).
    /// </summary>
    WAN,

    /// <summary>
    ///     Local area network (LAN) (10 Mbps or higher).
    /// </summary>
    LAN
}